home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cato / Xm / XmCascadeButtonGadget.z / XmCascadeButtonGadget
Encoding:
Text File  |  1998-10-20  |  30.3 KB  |  463 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt - The CascadeButtonGadget widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           ####iiiinnnncccclllluuuuddddeeee <<<<XXXXmmmm////CCCCaaaassssccccaaaaddddeeeeBBBBGGGG....hhhh>>>>
  13.  
  14.  
  15.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  16.           This page documents version 1.2 of the Motif library.
  17.  
  18.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.           CascadeButtonGadget links two MenuPanes, a MenuBar to a
  20.           MenuPane, or an OptionMenu to a MenuPane.
  21.  
  22.           It is used in menu systems and must have a RowColumn parent
  23.           with its XXXXmmmmNNNNrrrroooowwwwCCCCoooolllluuuummmmnnnnTTTTyyyyppppeeee resource set to XXXXmmmmMMMMEEEENNNNUUUU____BBBBAAAARRRR,
  24.           XXXXmmmmMMMMEEEENNNNUUUU____PPPPOOOOPPPPUUUUPPPP, XXXXmmmmMMMMEEEENNNNUUUU____PPPPUUUULLLLLLLLDDDDOOOOWWWWNNNN, or XXXXmmmmMMMMEEEENNNNUUUU____OOOOPPPPTTTTIIIIOOOONNNN.
  25.  
  26.           It is the only gadget that can have a Pulldown MenuPane
  27.           attached to it as a submenu.  The submenu is displayed when
  28.           this gadget is activated within a PopupMenu, a PulldownMenu,
  29.           or an OptionMenu.  Its visuals can include a label or pixmap
  30.           and a cascading indicator when it is in a Popup or Pulldown
  31.           MenuPane; or it can include only a label or a pixmap when it
  32.           is in an OptionMenu.
  33.  
  34.           The default behavior associated with a CascadeButtonGadget
  35.           depends on the type of menu system in which it resides.  By
  36.           default, BBBBSSSSeeeelllleeeecccctttt controls the behavior of the
  37.           CascadeButtonGadget.  In addition, BBBBMMMMeeeennnnuuuu controls the
  38.           behavior of the CascadeButtonGadget if it resides in a
  39.           PopupMenu system.  The actual mouse button used is
  40.           determined by its RowColumn parent.
  41.  
  42.           A CascadeButtonGadget's visuals differ from most other
  43.           button gadgets.  When the button becomes armed, its visuals
  44.           change from a 2-D to a 3-D look, and it displays the submenu
  45.           that has been attached to it.  If no submenu is attached, it
  46.           simply changes its visuals.
  47.  
  48.           When a CascadeButtonGadget within a Pulldown or Popup
  49.           MenuPane is armed as the result of the user moving the mouse
  50.           pointer into the gadget, it does not immediately display its
  51.           submenu.  Instead, it waits a short time to see if the
  52.           arming was temporary (that is, the user was simply passing
  53.           through the gadget), or the user really wanted the submenu
  54.           posted.  This delay is configurable via XXXXmmmmNNNNmmmmaaaappppppppiiiinnnnggggDDDDeeeellllaaaayyyy.
  55.  
  56.           CascadeButtonGadget provides a single mechanism for
  57.           activating the gadget from the keyboard.  This mechanism is
  58.           referred to as a keyboard mnemonic.  If a mnemonic has been
  59.           specified for the gadget, the user may activate it by simply
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 4/30/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           typing the mnemonic while the CascadeButtonGadget is
  75.           visible.  If the CascadeButtonGadget is in a MenuBar and the
  76.           MenuBar does not have the focus, the MMMMAAAAlllltttt modifier must be
  77.           pressed with the mnemonic.  Mnemonics are typically used to
  78.           interact with a menu via the keyboard.
  79.  
  80.           If a CascadeButtonGadget is in a Pulldown or Popup MenuPane
  81.           and there is a submenu attached, the XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm,
  82.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt, and XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp resources
  83.           may enlarge to accommodate XXXXmmmmNNNNccccaaaassssccccaaaaddddeeeePPPPiiiixxxxmmmmaaaapppp.  XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh
  84.           defaults to 6 if this resource is in a MenuBar; otherwise,
  85.           it takes LabelGadget's default, which is 2.
  86.  
  87.         CCCCllllaaaasssssssseeeessss
  88.           CascadeButtonGadget inherits behavior and resources from
  89.           OOOObbbbjjjjeeeecccctttt, RRRReeeeccccttttOOOObbbbjjjj, XXXXmmmmGGGGaaaaddddggggeeeetttt, and XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt classes.
  90.  
  91.           The class pointer is xxxxmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeettttCCCCllllaaaassssssss.
  92.  
  93.           The class name is XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt.
  94.  
  95.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  96.           The following table defines a set of widget resources used
  97.           by the programmer to specify data.  The programmer can also
  98.           set the resource values for the inherited classes to set
  99.           attributes for this widget.  To reference a resource by name
  100.           or by class in a .Xdefaults file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  101.           prefix and use the remaining letters.  To specify one of the
  102.           defined values for a resource in a .Xdefaults file, remove
  103.           the XXXXmmmm prefix and use the remaining letters (in either
  104.           lowercase or uppercase, but include any underscores between
  105.           words).  The codes in the access column indicate if the
  106.           given resource can be set at creation time (C), set by using
  107.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  108.           not applicable (N/A).
  109.  
  110.                                XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt
  111.      NNNNaaaammmmeeee                   CCCCllllaaaassssssss             TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  112.      __________________________________________________________________________
  113.      XmNactivateCallback    XmCCallback       XtCallbackList   NULL      C
  114.      XmNcascadePixmap       XmCPixmap         Pixmap           dynamic   CSG
  115.      XmNcascadingCallback   XmCCallback       XtCallbackList   NULL      C
  116.      XmNmappingDelay        XmCMappingDelay   int              180 ms    CSG
  117.      XmNsubMenuId           XmCMenuWidget     Widget           NULL      CSG
  118.  
  119.  
  120.           XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk
  121.                     Specifies the list of callbacks that is called
  122.                     when the user activates the CascadeButtonGadget,
  123.                     and there is no submenu attached to pop up.  The
  124.                     activation occurs by releasing a mouse button or
  125.                     by typing the mnemonic associated with the gadget.
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 4/30/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  137.  
  138.  
  139.  
  140.                     The specific mouse button depends on information
  141.                     in the RowColumn parent.  The reason sent by the
  142.                     callback is XXXXmmmmCCCCRRRR____AAAACCCCTTTTIIIIVVVVAAAATTTTEEEE.
  143.  
  144.           XXXXmmmmNNNNccccaaaassssccccaaaaddddeeeePPPPiiiixxxxmmmmaaaapppp
  145.                     Specifies the cascade pixmap displayed on one end
  146.                     of the gadget when a CascadeButtonGadget is used
  147.                     within a Popup or Pulldown MenuPane and a submenu
  148.                     is attached.  The LabelGadget class resources
  149.                     XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt,
  150.                     and XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp may be modified to ensure that
  151.                     room is left for the cascade pixmap.  The default
  152.                     cascade pixmap in menus other than option menus is
  153.                     an arrow pointing to the side of the menu where
  154.                     the submenu will appear.  The default for the
  155.                     CascadeButtonGadget in an option menu is
  156.                     XXXXmmmmUUUUNNNNSSSSPPPPEEEECCCCIIIIFFFFIIIIEEEEDDDD____PPPPIIIIXXXXMMMMAAAAPPPP.
  157.  
  158.           XXXXmmmmNNNNccccaaaassssccccaaaaddddiiiinnnnggggCCCCaaaallllllllbbbbaaaacccckkkk
  159.                     Specifies the list of callbacks that is called
  160.                     just prior to the mapping of the submenu
  161.                     associated with the CascadeButtonGadget.  The
  162.                     reason sent by the callback is XXXXmmmmCCCCRRRR____CCCCAAAASSSSCCCCAAAADDDDIIIINNNNGGGG.
  163.  
  164.           XXXXmmmmNNNNmmmmaaaappppppppiiiinnnnggggDDDDeeeellllaaaayyyy
  165.                     Specifies the amount of time, in milliseconds,
  166.                     between when a CascadeButtonGadget becomes armed
  167.                     and when it maps its submenu.  This delay is used
  168.                     only when the gadget is within a Popup or Pulldown
  169.                     MenuPane.  The value must not be negative.
  170.  
  171.           XXXXmmmmNNNNssssuuuubbbbMMMMeeeennnnuuuuIIIIdddd
  172.                     Specifies the widget ID for the Pulldown MenuPane
  173.                     to be associated with this CascadeButtonGadget.
  174.                     The specified MenuPane is displayed when the
  175.                     CascadeButtonGadget becomes armed.  The MenuPane
  176.                     must have been created with the appropriate
  177.                     parentage depending on the type of menu used.  See
  178.                     XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPuuuullllllllddddoooowwwwnnnnMMMMeeeennnnuuuu((((3333XXXX)))), XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPooooppppuuuuppppMMMMeeeennnnuuuu((((3333XXXX)))),
  179.                     and XXXXmmmmCCCCrrrreeeeaaaatttteeeeOOOOppppttttiiiioooonnnnMMMMeeeennnnuuuu((((3333XXXX)))) for more information on
  180.                     the menu systems.
  181.  
  182.  
  183.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  184.           CascadeButtonGadget inherits behavior and resources from the
  185.           following superclasses.  For a complete description of each
  186.           resource, refer to the man page for that superclass.
  187.  
  188.                                             XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  189.      NNNNaaaammmmeeee                        CCCCllllaaaassssssss                       TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 4/30/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  203.  
  204.  
  205.  
  206.      _________________________________________________________________________________________________________
  207.      XmNaccelerator              XmCAccelerator              String              NULL                   N/A
  208.      XmNacceleratorText          XmCAcceleratorText          XmString            NULL                   N/A
  209.      XmNalignment                XmCAlignment                unsigned char       dynamic                CSG
  210.      XmNfontList                 XmCFontList                 XmFontList          dynamic                CSG
  211.      XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  212.      XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  213.      XmNlabelString              XmCXmString                 XmString            dynamic                CSG
  214.      XmNlabelType                XmCLabelType                unsigned char       XmSTRING               CSG
  215.      XmNmarginBottom             XmCMarginBottom             Dimension           dynamic                CSG
  216.      XmNmarginHeight             XmCMarginHeight             Dimension           2                      CSG
  217.      XmNmarginLeft               XmCMarginLeft               Dimension           0                      CSG
  218.      XmNmarginRight              XmCMarginRight              Dimension           dynamic                CSG
  219.      XmNmarginTop                XmCMarginTop                Dimension           dynamic                CSG
  220.      XmNmarginWidth              XmCMarginWidth              Dimension           dynamic                CSG
  221.      XmNmnemonic                 XmCMnemonic                 KeySym              NULL                   CSG
  222.      XmNmnemonicCharSet          XmCMnemonicCharSet          String              dynamic                CSG
  223.      XmNrecomputeSize            XmCRecomputeSize            Boolean             True                   CSG
  224.      XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                CSG
  225.  
  226.                                     XXXXmmmmGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  227.      NNNNaaaammmmeeee                    CCCCllllaaaassssssss                   TTTTyyyyppppeeee               DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  228.      ___________________________________________________________________________________
  229.      XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic   G
  230.      XmNhelpCallback         XmCCallback             XtCallbackList     NULL      C
  231.      XmNhighlightColor       XmCHighlightColor       Pixel              dynamic   G
  232.      XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False     CSG
  233.      XmNhighlightThickness   XmCHighlightThickness   Dimension          0         CSG
  234.      XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE    CSG
  235.      XmNshadowThickness      XmCShadowThickness      Dimension          2         CSG
  236.      XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic   G
  237.      XmNtraversalOn          XmCTraversalOn          Boolean            True      CSG
  238.      XmNunitType             XmCUnitType             unsigned char      dynamic   CSG
  239.      XmNuserData             XmCUserData             XtPointer          NULL      CSG
  240.  
  241.                               RRRReeeeccccttttOOOObbbbjjjj RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  242.       NNNNaaaammmmeeee                   CCCCllllaaaassssssss            TTTTyyyyppppeeee        DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  243.       ____________________________________________________________________
  244.       XmNancestorSensitive   XmCSensitive     Boolean     dynamic   G
  245.       XmNborderWidth         XmCBorderWidth   Dimension   0         CSG
  246.       XmNheight              XmCHeight        Dimension   dynamic   CSG
  247.       XmNsensitive           XmCSensitive     Boolean     True      CSG
  248.       XmNwidth               XmCWidth         Dimension   dynamic   CSG
  249.       XmNx                   XmCPosition      Position    0         CSG
  250.       XmNy                   XmCPosition      Position    0         CSG
  251.  
  252.                               OOOObbbbjjjjeeeecccctttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  253.       NNNNaaaammmmeeee                 CCCCllllaaaassssssss         TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  254.       ____________________________________________________________________
  255.       XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 4/30/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  269.  
  270.  
  271.  
  272.         CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  273.           A pointer to the following structure is passed to each
  274.           callback:
  275.  
  276.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  277.           {{{{
  278.             iiiinnnntttt      _r_e_a_s_o_n;;;;
  279.             XXXXEEEEvvvveeeennnntttt   * _e_v_e_n_t;;;;
  280.           }}}} XXXXmmmmAAAAnnnnyyyyCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt;;;;
  281.  
  282.  
  283.           _r_e_a_s_o_n Indicates why the callback was invoked.
  284.  
  285.           _e_v_e_n_t  Points to the XXXXEEEEvvvveeeennnntttt that triggered the callback or
  286.                  is NULL if this callback was not triggered by an
  287.                  XXXXEEEEvvvveeeennnntttt.
  288.  
  289.  
  290.         BBBBeeeehhhhaaaavvvviiiioooorrrr
  291.           XmCascadeButtonGadget includes behavior from XmGadget.
  292.           XmCascadeButton includes the menu traversal behavior from
  293.           XmLabel.  Additional XmCascadeButtonGadget behavior is
  294.           described below (in a Popup menu system, BBBBMMMMeeeennnnuuuu also performs
  295.           the BBBBSSSSeeeelllleeeecccctttt actions):
  296.  
  297.  
  298.           BBBBSSSSeeeelllleeeecccctttt PPPPrrrreeeessssssss:
  299.                     Unposts any menus posted by the parent menu.  Arms
  300.                     the CascadeButtonGadget, posts the associated
  301.                     submenu, enables mouse traversal, and, in a
  302.                     MenuBar, arms the MenuBar.  If the menu is already
  303.                     active, this event disables keyboard traversal for
  304.                     the menu and returns the menu to mouse traversal
  305.                     mode.
  306.  
  307.           BBBBSSSSeeeelllleeeecccctttt RRRReeeelllleeeeaaaasssseeee:
  308.                     Calls the callbacks in XXXXmmmmNNNNccccaaaassssccccaaaaddddiiiinnnnggggCCCCaaaallllllllbbbbaaaacccckkkk, posts
  309.                     the submenu attached to the CascadeButtonGadget
  310.                     and enables keyboard traversal within the menu.
  311.                     If the CascadeButtonGadget does not have a submenu
  312.                     attached, calls the callbacks in
  313.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk, the CascadeButtonGadget is
  314.                     activated and all posted menus in the cascade are
  315.                     unposted.
  316.  
  317.           KKKKAAAAccccttttiiiivvvvaaaatttteeee:
  318.                     Calls the callbacks in XXXXmmmmNNNNccccaaaassssccccaaaaddddiiiinnnnggggCCCCaaaallllllllbbbbaaaacccckkkk, and
  319.                     posts the submenu attached to the
  320.                     CascadeButtonGadget if keyboard traversal is
  321.                     enabled in the menu.  If the CascadeButtonGadget
  322.                     does not have a submenu attached, calls the
  323.                     callbacks in XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk, the
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 4/30/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  335.  
  336.  
  337.  
  338.                     CascadeButtonGadget is activated and all posted
  339.                     menus in the cascade are unposted.  This action
  340.                     applies only to gadgets in MenuBars,
  341.                     PulldownMenus, and PopupMenus.  For a
  342.                     CascadeButtonGadget in an OptionMenu, if the
  343.                     parent is a manager, this action passes the event
  344.                     to the parent.
  345.  
  346.           KKKKSSSSeeeelllleeeecccctttt:  Calls the callbacks in XXXXmmmmNNNNccccaaaassssccccaaaaddddiiiinnnnggggCCCCaaaallllllllbbbbaaaacccckkkk, and
  347.                     posts the submenu attached to the
  348.                     CascadeButtonGadget if keyboard traversal is
  349.                     enabled in the menu.  If the CascadeButtonGadget
  350.                     does not have a submenu attached, calls the
  351.                     callbacks in XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk, the
  352.                     CascadeButtonGadget is activated and all posted
  353.                     menus in the cascade are unposted.
  354.  
  355.           KKKKHHHHeeeellllpppp:    Unposts all menus in the menu hierarchy and, when
  356.                     the shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCTTTT,
  357.                     restores keyboard focus to the widget that had the
  358.                     focus before the menu system was entered.  Calls
  359.                     the callbacks for XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk if any exist.
  360.                     If there are no help callbacks for this widget,
  361.                     this action calls the help callbacks for the
  362.                     nearest ancestor that has them.
  363.  
  364.           MMMMAAAAnnnnyyyy KKKKCCCCaaaannnncccceeeellll:
  365.                     In a MenuBar, disarms the CascadeButtonGadget and
  366.                     the menu and, when the shell's keyboard focus
  367.                     policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCTTTT, restores keyboard focus to
  368.                     the widget that had the focus before the menu was
  369.                     entered.  For a CascadeButtonGadget in an
  370.                     OptionMenu, if the parent is a manager, this
  371.                     action passes the event to the parent.
  372.  
  373.                     In a toplevel Pulldown MenuPane from a MenuBar,
  374.                     unposts the menu, disarms the MenuBar
  375.                     CascadeButton and the MenuBar, and, when the
  376.                     shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCTTTT,
  377.                     restores keyboard focus to the widget that had the
  378.                     focus before the MenuBar was entered.  In other
  379.                     Pulldown MenuPanes, unposts the menu.
  380.  
  381.                     In a Popup MenuPane, unposts the menu and restores
  382.                     keyboard focus to the widget from which the menu
  383.                     was posted.
  384.  
  385.           <<<<EEEEnnnntttteeeerrrr>>>>:  If keyboard traversal is enabled does nothing.
  386.                     Otherwise, in a MenuBar, unposts any MenuPanes
  387.                     associated with another MenuBar entry, arms the
  388.                     CascadeButtonGadget, and posts the associated
  389.                     submenu.  In other menus, arms the
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 4/30/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  401.  
  402.  
  403.  
  404.                     CascadeButtonGadget and posts the associated
  405.                     submenu after the delay specified by
  406.                     XXXXmmmmNNNNmmmmaaaappppppppiiiinnnnggggDDDDeeeellllaaaayyyy.
  407.  
  408.           <<<<LLLLeeeeaaaavvvveeee>>>>:  If keyboard traversal is enabled does nothing.
  409.                     Otherwise, in a MenuBar, disarms the
  410.                     CascadeButtonGadget if the submenu associated with
  411.                     the CascadeButtonGadget is not currently posted or
  412.                     if there is no submenu associated with the
  413.                     CascadeButtonGadget.
  414.  
  415.                     In other menus, if the pointer moves anywhere
  416.                     except into a submenu associated with the
  417.                     CascadeButtonGadget, the CascadeButtonGadget is
  418.                     disarmed and its submenu is unposted.
  419.  
  420.  
  421.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  422.           The bindings for virtual keys are vendor specific.  For
  423.           information about bindings for virtual buttons and keys, see
  424.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((3333XXXX)))).
  425.  
  426.      RRRREEEELLLLAAAATTTTEEEEDDDD IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  427.           OOOObbbbjjjjeeeecccctttt((((3333XXXX)))), RRRReeeeccccttttOOOObbbbjjjj((((3333XXXX)))), XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnHHHHiiiigggghhhhlllliiiigggghhhhtttt((((3333)))),
  428.           XXXXmmmmCCCCrrrreeeeaaaatttteeeeCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))), XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPuuuullllllllddddoooowwwwnnnnMMMMeeeennnnuuuu((((3333XXXX)))),
  429.           XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPooooppppuuuuppppMMMMeeeennnnuuuu((((3333XXXX)))), XXXXmmmmCCCCrrrreeeeaaaatttteeeeOOOOppppttttiiiioooonnnnMMMMeeeennnnuuuu((((3333XXXX)))),,,,XXXXmmmmGGGGaaaaddddggggeeeetttt((((3333XXXX)))),
  430.           XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt((((3333XXXX)))), and XXXXmmmmRRRRoooowwwwCCCCoooolllluuuummmmnnnn((((3333XXXX)))).
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 4/30/98)
  460.  
  461.  
  462.  
  463.